package task

import (
	"gitee.com/chejiangyi/bsfgo/core/utils"
	"github.com/robfig/cron/v3"
)

/*
*
定时任务
cron表达式生成器:https://www.pppet.net/
*/
type MyTask struct {
	TaskCorn *cron.Cron
}

func (m MyTask) Name() string {
	return "MyTask"
}
func (m MyTask) Init() {
}
func (m MyTask) Start() {
	m.TaskCorn = cron.New(cron.WithSeconds())
	// 添加任务
	_, err := m.TaskCorn.AddFunc("*/5 * * * * ?", func() {
		m.Execute()
	})
	if err != nil {
		panic(err)
	}
	// 启动 cron 调度器
	m.TaskCorn.Start()
}
func (m MyTask) Execute() {
	utils.LogUtil.Info("执行任务一次")
}
func (m MyTask) Close() {
	if m.TaskCorn != nil {
		m.TaskCorn.Stop()
	}
}
